//
// Created by 12494 on 2023/5/13.
//

/*
* 输入：进程ID，所需要的CPU资源，所需要的IO资源，先执行CPU or IO
* 第一次执行是指定先执行cpu或者io，此后该程序cpu，io交替执行
* 若在进程执行 cpu时候 时间片到，降级，最低级不再降
* 若在进程执行 io时候 时间片到，升级，最高级不再升
* 若程序执行完CPU或者IO后 时间片未到，程序执行剩余的IO或者CPU
* 最终在第一级队列结束的是IO密集型，不管输入CPU，IO是多少，IO多则升级，CPU多则降级
* 限时输入，若不输入程序过几秒自动运行（秒数可以自己设置）
* 随时中断，进程运行过程中可以添加新进程
* 有抢占，添加的新进程进入第一队列，并且立马执行
* 第一级队列不会发生抢占，但仍然可以添加新进程，进程排到第一级队列尾
* 被抢占的进程返回进程所在队列的队尾等待执行
* 被抢占的进程在轮到该进程后继续上次剩余的时间片
* 可选择是否使用RunIO_CPU() 函数，该函数是在运行IO时记录时间片，并寻找最高优先级的进程运行CPU，达到模拟有进程在运行IO的时候，同时有别的进程在运行CPU
*/

